home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / program / swagd_f.zip / FILES.SWG / 0036_Another File Hider.pas < prev    next >
Pascal/Delphi Source File  |  1993-11-02  |  1KB  |  30 lines

  1. {
  2. ts@uwasa.fi (Timo Salmi)
  3.  
  4.  Q: How can one hide (or unhide) a directory using a TP Program?
  5.  
  6.  A: SetFAttr which first comes to mind cannot be used For this.
  7. Instead interrupt Programming is required.  Here is the code.
  8. Incidentally, since MsDos 5.0 the attrib command can be used to hide
  9. and unhide directories.
  10. (* Hide a directory. Before using it would be prudent to check
  11.    that the directory exists, and that it is a directory.
  12.    With a contribution from Jan Nielsen jak@hdc.hha.dk
  13.    Based on information from Duncan (1986), p. 410 *)
  14. }
  15. Procedure HIDE(dirname : String);
  16. Var
  17.   regs : Registers;
  18. begin
  19.   FillChar(regs, SizeOf(regs), 0);    { standard precaution }
  20.   dirname := dirname + #0;           { requires ASCII Strings }
  21.   regs.ah := $43;                    { Function }
  22.   regs.al := $01;                    { subFunction }
  23.   regs.ds := Seg(dirname[1]);        { point to the name }
  24.   regs.dx := Ofs(dirname[1]);
  25.   regs.cx := 2; { set bit 1 on }     { to unhide set regs.cx := 0 }
  26.   Intr ($21, regs);                  { call the interrupt }
  27.   if regs.Flags and FCarry <> 0 then { were we successful }
  28.     Writeln('Failed to hide');
  29. end;
  30.